package yogaModel

import "time"

type ReqGroupClass struct {
	Id                int       `json:"id"`
	Duration          int       `json:"duration"`
	Contain           int       `json:"contain" binding:"required" required_err:"参数缺失【contain】"`
	Difficulty        float64   `json:"difficulty" binding:"required" required_err:"参数缺失【difficulty】"`
	TeacherId         int       `json:"teacher_id" binding:"required" required_err:"参数缺失【teacher_id】"`
	Classroom         string    `json:"classroom" binding:"required" required_err:"参数缺失【classroom】"`
	Content           string    `json:"content" binding:"required" required_err:"参数缺失【content】"`
	Name              string    `json:"name" binding:"required" required_err:"参数缺失【name】"`
	VenueId           int       `json:"venue_id" binding:"required" required_err:"参数缺失【venue_id】"`
	Acid              int       `json:"acid"`
	SubMchId          string    `json:"sub_mch_id" binding:"required" required_err:"参数缺失【sub_mch_id】"`
	ClassType         int       `json:"class_type" binding:"required" required_err:"参数缺失【class_type】"`
	AppointmentNotice string    `json:"appointment_notice" binding:"required" required_err:"参数缺失【appointment_notice】"`
	Tag               string    `json:"tag" binding:"required" required_err:"参数缺失【tag】"`
	Yprice            float32   `json:"yprice" binding:"required" required_err:"参数缺失【yprice】"`
	Price             float32   `json:"price" binding:"required" required_err:"参数缺失【price】"`
	BuyCount          int       `json:"buy_count"`
	WatchCount        int       `json:"watch_count"`
	ReservationCount  int       `json:"reservation_count"`
	IsPoints          int       `json:"is_points" binding:"required" required_err:"参数缺失【is_points】"`
	Points            int       `json:"points"`
	Weight            int       `json:"weight"`
	StartTime         string    `json:"start_time" binding:"required" required_err:"参数缺失【start_time】"`
	EndTime           string    `json:"end_time" binding:"required" required_err:"参数缺失【end_time】"`
	IsHot             int       `json:"is_hot" binding:"required" required_err:"参数缺失【is_hot】"`
	DeletedAt         time.Time `xorm:"deleted" json:"-" form:"deleted_at" mapstructure:"deleted_at"`
	IsHome            int       `json:"is_home" binding:"required" required_err:"参数缺失【is_home】"`
	IsRecommended     int       `json:"is_recommended" binding:"required" required_err:"参数缺失【is_recommended】"`
	Cover             string    `json:"cover" binding:"required" required_err:"参数缺失【cover】"`
	GiftPoints        int       `json:"gift_points"`
	TeacherName       string    `json:"teacher_name"`
}
type JoinGroupClass struct {
	Id            int     `json:"id"`
	Duration      int     `json:"duration"`
	Difficulty    float64 `json:"difficulty"`
	TeacherName   string  `json:"teacher_name"`
	TeacherPic    string  `json:"teacher_pic"`
	Classroom     string  `json:"classroom"`
	Name          string  `json:"name"`
	ClassType     int     `xorm:"class_type" json:"class_type"`
	IsReservation int     `xorm:"-" json:"is_reservation"`
	Price         float64 `json:"price"`
	StartTime     string  `json:"start_time"`
	EndTime       string  `json:"end_time"`
	Cover         string  `json:"cover"`
	Content       string  `json:"content"`
}
type GroupClassInfo struct {
	Id                  int                    `json:"id"`
	Duration            int                    `json:"duration"`
	Contain             int                    `json:"contain"`
	Difficulty          float64                `json:"difficulty"`
	TeacherPic          string                 `json:"teacher_pic"`
	TeacherName         string                 `json:"teacher_name"`
	TeacherIntroduction string                 `json:"teacher_introduction"`
	Classroom           string                 `json:"classroom"`
	Content             string                 `json:"content"`
	Name                string                 `json:"name"`
	ClassType           int                    `json:"class_type"`
	IsReservation       int                    `xorm:"-" json:"is_reservation"`
	Price               float64                `json:"price"`
	StartTime           string                 `json:"start_time"`
	EndTime             string                 `json:"end_time"`
	AppointmentNotice   string                 `json:"appointment_notice"`
	VenueId             string                 `json:"venue_id"`
	VenueName           string                 `json:"venue_name"`
	Lat                 string                 `json:"lat"`
	Lng                 string                 `json:"lng"`
	Sex                 int                    `json:"sex"`
	Yprice              float64                `json:"yprice"`
	ClassTime           map[string]interface{} `json:"class_time"`
	BuyCount            int                    `json:"buy_count"`
	Cover               string                 `json:"cover"`
	TimeStr             string                 `json:"time_str"`
	Tag                 string                 `json:"tag"`
}
type SearchGroupClass struct {
	ReservationDate int `json:"reservation_date" binding:"required" required_err:"参数缺失【reservation_date】"`
	ReservationDay  int `json:"reservation_day" binding:"required" required_err:"参数缺失【reservation_day】"`
	ClassType       int `json:"class_type" binding:"required" required_err:"参数缺失【class_type】"`
	VenueId         int `json:"venue_id"`
	PageNo          int `json:"pageNo"`
	PageSize        int `json:"pageSize"`
}
type ReqHotList struct {
	ClassType  int    `json:"class_type" binding:"required" required_err:"参数缺失【class_type】"`
	PageNo     int    `json:"pageNo"`
	PageSize   int    `json:"pageSize"`
	FromId     int    `json:"from_id" binding:"required" required_err:"参数缺失【from_id】"`
	SearchName string `json:"search_name"`
}
type RspClassTime struct {
	ReservationDay  string `json:"reservation_day" binding:"required" required_err:"参数缺失【reservation_day】"`
	ReservationDate string `json:"reservation_date" binding:"required" required_err:"参数缺失【reservation_date】"`
	FromId          int    `json:"from_id" binding:"required" required_err:"参数缺失【from_id】"`
}
type RspCourseDetails struct {
	Teacher ReqTeacher      `json:"teacher"`
	Class   []ReqGroupClass `json:"class"`
}
